當專案越寫越大的時候,很容易遇到修改了 A 功能,卻導致 B 功能出錯的情形。這個狀況通常是未考慮到其它方法 (或這些方法的依賴性) 所導致的,多人合作時容易發生這樣的狀況。
如果建立單元測試的話,就能檢查在測試條件下,程式碼是否會出錯,這會帶來以下的好處:
public
方法建立單元測試。[TestMethod()]
public void CheckEducationValidTest_NotPass1()
{
Education edu = new Education();
edu.IsFinish = true;
edu.FinishYear = null;
edu.Department = "資訊管理系";
edu.School = "國立中山大學";
Form1 form1 = new Form1();
Assert.AreEqual(form1.CheckEducationValid(edu), false);
}
在上方的方法中,建立了一個 Education
物件,並設定其 IsFinish
為 true
,FinishYear
為 null。由於聲明已經畢業,卻沒有輸入畢業年份,預期為回傳 False。其呼叫的原始方法如下,會檢查 School
, Department
屬性是否為空白,以及畢業年份是否有正確輸入:
public bool CheckEducationValid(Education edu)
{
if(edu.Department.Equals("") || edu.School.Equals(""))
{
return false;
}
if((edu.IsFinish && edu.FinishYear == null) || (edu.IsFinish == false && edu.FinishYear != null))
{
return false;
}
return true;
}
接著就可以在單元測試的程式碼上點選右鍵,選擇「執行測試」。測試的結果會放在「測試結果」視窗,可以檢查是否有通過測試,若沒有通過測試,可以再檢查是否原有程式邏輯有誤。